package ace.module.tenant.api.model.input;

import ace.cmp.core.utils.RegPatternUtils;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(title = "添加租户账户参数")
public class TenTenantAccountAddInput implements Serializable {

  @NotEmpty
  @Schema(title = "账户名")
  private String username;

  @Pattern(
      regexp = RegPatternUtils.REG_PASSWORD_FORMAT,
      message = RegPatternUtils.REG_PASSWORD_FORMAT_ERROR_MESSAGE)
  @NotEmpty
  @Schema(title = "密码")
  private String password;

  @NotNull
  @Schema(title = "账户昵称")
  private String nickName;

  @NotNull
  @Schema(title = "租户id")
  private Long tenantId;
}
